package com.yhf.controller;

import com.yhf.model.Stage;
import com.yhf.model.Taskplan;
import com.yhf.service.TaskPlanService;
import com.yhf.utils.PageResult;
import com.yhf.utils.QueryPageBean;
import com.yhf.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("taskplan")
public class TaskPlanConltroller {
    @Autowired
    TaskPlanService taskPlanService;

    /**
     * 获得状态为一的所有project
     * @param queryPageBean 分页信息
     * @return PageResult
     */
    @PostMapping("all")
    public PageResult all(@RequestBody QueryPageBean queryPageBean){
        return taskPlanService.pageList(queryPageBean);
    }

    /**
     * 查询所有部门并附带选中的部门
     * @param bid 选中的部门id
     * @return Result
     */
    @GetMapping("findBranch")
    public Result findBranch(String bid){
        return taskPlanService.findBranch(bid);
    }

    /**
     * 根据任务计划实体添加项目阶段
     * @param taskplan 任务计划实体
     * @return Result
     */
    @PostMapping("add")
    public Result add(@RequestBody Taskplan taskplan){
        return taskPlanService.Add(taskplan);
    }

    /**
     * 根据tid查询taskplan
     * @param tid 任务计划id
     * @return Result
     */
    @GetMapping("onetaskplan")
    public Result findOne(String tid){
        return taskPlanService.findTaskPlanById(tid);
    }


    /**
     *根据taskplan实体修改含id
     * @param taskplan 封装信息的实体
     * @return Result
     */
    @PostMapping("edit")
    public Result edit(@RequestBody Taskplan taskplan){
        return taskPlanService.editByStage(taskplan);
    }
    /**
     * 根据tid将阶段状态改成0
     * @param tid 计划id
     * @return Result
     */
    @GetMapping("delete")
    public Result delete(String tid){
        return taskPlanService.deleteBySid(tid);
    }


}
